Data represents a significant asset for many entities.
Consequently, data loss, whether accidental or caused by malicious activity, can be costly in terms of wasted manpower, loss of goodwill from customers, loss of time and potential legal liability. To ensure proper protection of data for business and legal purposes, many entities back up data to a physical storage media such as magnetic tapes or optical disks. Traditionally, backup would occur at each machine controlled by an entity. As the sophistication of network technology increased, many entities turned to enterprise level backup in which data from multiple machines on a network is backed up to a remote media library. Centralized data backup allows storage problems to be identified at one location and has the advantage of increased efficiency.
One example of a media library commonly used in enterprise backup systems is a magnetic tape library. In a typical magnetic tape library, tapes are contained in cartridges and the tape library contains multiple cartridge slots in which tape cartridges can be stored. The tape cartridges are physically moved between cartridge slots and tape drives by a robot. The robot is controlled based on commands received from host devices on the network. When specific data is required, the host device determines which cartridge slot contains the tape cartridge that holds the desired data. The host device then transmits a command to the media library to move the medium and the robot moves the tape cartridge.
In a SCSI tape library, devices that are part of the library are typically addressed by target number and logical unit numbers (“LUN”). Thus, each drive and media changer of a tape library typically has a target number and LUN. Cartridge slots, on the other hand, are addressed by element addresses that are used by the robot to locate the slots. Because the robot also places tape cartridges in the drives, each drive is also associated with an element address. The robot can also be assigned an element address. If multiple tape libraries are connected to a single device (e.g., a Fibre Channel to SCSI routing device), the tape libraries may be further addressed by bus number.
Traditional media libraries are limited in scalability because, in these systems, a robot is restricted to using only storage slots and drives in the same physical unit as the robot. If a user wishes to move a cartridge from one tape library to another, the user can have the robot move the cartridge to an export slot. The user then manually moves the cartridge to an import slot of another media library and commands the robot of the destination media library to move the cartridge to the appropriate storage element or drive. In practice, the use of import/export elements to move one cartridge at a time is tedious, so many users simply open the media libraries and manually move multiple cartridges from a source media library to a destination media library.
The scalability issues of traditional media libraries become more pronounced when multiple media libraries are shared among multiple host computers. As described in United States Provisional Patent Application No. 60/425,034, entitled “Method for Presenting a Single Logical Media Library Robotics Controller While Actually Operating Multiple Physical Media Library Robotics Controllers in an Aggregated Media Library Environment” filed Nov. 8, 2002, U.S. patent application Ser. No. 10/704,265, entitled “System and Method for Controlling Access to Multiple Physical Media Libraries” filed Nov. 7, 2003, and U.S. patent application Ser. No. 10/703,965, entitled “System and Method for Controlling Access to Media Libraries” filed Nov. 7, 2003, each of which is hereby fully incorporated by reference herein, multiple media libraries can be aggregated into a single logical media library and the logical media library can be partitioned into multiple library partitions, with different partitions being presented to different hosts. If a particular partition contains storage elements and/or drives from multiple physical media libraries, this can lead to a host issuing a command to move a cartridge from an element (e.g., storage or data transport) in one physical media library to an element in another physical media library when the cartridge cannot be so moved without human intervention.
One recent improvement on media libraries has been the development of pass through ports, alternatively known as elevators. A pass through port is essentially an import/export element at a media library connected to a corresponding export/import element at another media library by a mechanism that can automatically pass the cartridge, optical disk or other media between media libraries. While the development of pass through ports allows tapes or other media to be shared between media libraries, pass through ports present their own complications.
One issue with pass through ports is that multiple hosts may issue commands that require utilization of the pass through ports. This can lead to contention between commands. Another issue is that the media changer of one media library may not be aware of the status of the other media library. For example, if a command is issued to move a cartridge from a storage element at one media library to a drive at another media library, but the destination drive is busy, the media changer at the first media library typically will not know this. While the robot at the first media library can move the cartridge from the storage element to the pass through port, the robot at the second media library will not be able to move the cartridge from the pass through port to the destination drive. The cartridge will now be stuck at the second media library as the robot will not know where to put it, causing an error. Consequently, there is a need for a mechanism to effectively manage commands that utilize the pass through port.